小爱音箱(小爱同学)+Openwrt控制电脑开关机

您所在的位置:网站首页 openwrt 唤醒内网电脑 小爱音箱(小爱同学)+Openwrt控制电脑开关机

小爱音箱(小爱同学)+Openwrt控制电脑开关机

2023-11-07 15:01| 来源: 网络整理| 查看: 265

前言

由于电脑在显示器后面,每次开机时都要起身不方便(懒),于是萌发了用小爱同学控制电脑开机的想法。有物理pcie开机卡,智能插座等,感觉很麻烦(穷)。也有结合巴法开放平台控制电脑的方法,但教程不详细,有坑,自己调试之后才能正常使用,对小白不友好,故结合网上的教程和自己的经验写此文进行记录,方便b友参考,也方便之后时间久了回顾。

设备环境

1.小爱音箱——用于语音控制。

2.Openwrt——用于连接巴法开放平台,也可其它Linux环境,需要自己查找怎么运行python。且有独立ip,与需要唤醒的主机在同一局域网,比如Openwrt的ip为192.168.1.1,那么需要唤醒的主机ip必须为192.168.1.x才行。

3.主机——具有wol功能,需要自己去网上搜索怎么在BIOS中开启网络唤醒功能。

一、巴法云相关

1.注册巴法云账号

https://cloud.bemfa.com/

2.创建主题

创建主题过程

主题名字必须为XX001,以001结尾的代表是一个插座设备,后续连接小爱音箱后,对它说打开关闭,巴法云上就会收到on/off的数据,才能进行后续操作。

点击昵称就可以修改该主题的名字,这里直接改为电脑。

二、小爱同学相关

在米家app的“我的”菜单项中选择连接其它平台

2.找到并添加巴法

3.可以看到有在网页上命名的电脑设备,点击同步设备

三、Openwrt相关

安装etherwake(网络唤醒)、  python3(连接巴法)、sshpass(携带密码的ssh)

   2.参考 https://www.cnblogs.com/bemfa/p/15435616.html ,命名为wakeup.py,保存在任意位置,我这里保存在/etc/soft/mqtt/wakeup.py

a.私钥和主题值都可以在巴法云上查看,如果不是PC001,就根据自己的修改代码里全部的PC001

b.在openwrt终端中输入ifconfig,确定网卡名字,这里是br-lan,根据自己的修改

c.在需要唤醒的主机上按键 win+x,选择终端

输入:ipconfig /all ,找到支持唤醒的网卡的物理地址,并替换代码cmd1里面相应数据

3.修改好代码后运行测试  python3 /etc/soft/mqtt/wakeup.py

如果一切正常,订阅者在线数就会变成1

语音控制小爱同学,“小爱同学,打开电脑”,“小爱同学,关闭电脑”,都能正确输出,主机被成功打开关闭(关机操作需要根据后文配置)

4.在系统-启动项-本地启动脚本中添加代码,让其开机启动,并将日志输出到wakeup.log中,方便排查

5.在系统-计划任务中添加任务,作用是每个小时,会kill掉wakeup.py的后台进程,并重新启动一个新的进程。因为经过测试,如果不这样做,时间久了,会出现虽然在巴法云的控制台上显示在线,但控制失效的情况,不知道是本地原因还是巴法那边的原因,懒得排查了

6.来到系统-启动项-启动脚本,ctrl+f 搜索 cron,并点击重启,使计划任务生效

7.重启openwrt,或者直接执行一次,openwrt相关操作完成

四、主机相关

新建一个用户

a. win + s 搜索用户,打开编辑本地用户和组

b.在本地用户和组(本地)-用户,在如图所示空白处右键选择新用户,并自己配置用户信息

c.根据需要隐藏登录界面的此用户显示 https://www.ithome.com/0/228/192.htm

d.根据需要参考设置此用户的权限 https://post.smzdm.com/p/akxwkxqk/

2.开启ssh-server功能,网上很多现成的

参考 https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell

或搜索一下windows ssh server,跟着教程走就可以了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3